Skip to main content

Vitess

Vitess is a database solution for deploying, scaling and managing large clusters of open-source database instances. It currently supports MySQL, Percona and MariaDB. It’s architected to run as effectively in a public or private cloud architecture as it does on dedicated hardware. It combines and extends many important SQL features with the scalability of a NoSQL database. Vitess can help you with the following problems:

  • Scaling a SQL database by allowing you to shard it, while keeping application changes to a minimum.
  • Migrating from baremetal to a private or public cloud.
  • Deploying and managing a large number of SQL database instances.

Vitess includes compliant JDBC and Go database drivers using a native query protocol. Additionally, it implements the MySQL server protocol which is compatible with virtually any other language.

Vitess served all YouTube database traffic for over five years. Many enterprises have now adopted Vitess for their production needs. YouTube is not the only major tech firm using Vitess internally. Other notable adopters include Slack Technologies Inc., HubSpot Inc., Pinterest Inc. and Square Inc., etc

Features

  • Performance
    • Connection pooling - Multiplex front-end application queries onto a pool of MySQL connections to optimize performance.
    • Query de-duping – Reuse results of an in-flight query for any identical requests received while the in-flight query was still executing.
    • Transaction manager – Limit number of concurrent transactions and manage timeouts to optimize overall throughput.
  • Protection
    • Query rewriting and sanitization – Add limits and avoid non-deterministic updates.
    • Query blacklisting – Customize rules to prevent potentially problematic queries from hitting your database.
    • Query killer – Terminate queries that take too long to return data.
    • Table ACLs – Specify access control lists (ACLs) for tables based on the connected user.
  • Monitoring
    • Performance analysis tools let you monitor, diagnose, and analyze your database performance.
  • Topology Management Tools
    • Cluster management tools (handles reparenting)
    • Web-based management GUI
    • Designed to work in multiple data centers / regions
  • Sharding
    • Virtually seamless dynamic re-sharding
    • Vertical and Horizontal sharding support
    • Multiple sharding schemes, with the ability to plug-in custom ones

Supported Databases

Vitess deploys, scales and manages clusters of open-source SQL database instances. Currently, Vitess supports the MySQL, Percona and MariaDB databases.

The VTGate proxy server advertises its version as MySQL 5.7.

References-